8eb91f25cbaa75361cb087d69cf30328508c8342,portal-impl/src/com/liferay/portlet/documentlibrary/service/permission/DLFolderPermission.java,DLFolderPermission,contains,#PermissionChecker#DLFolder#String#,69

Before Change



		long folderId = dlFolder.getFolderId();

		if (PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {
			long originalFolderId = folderId;

			try {
				while (folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
					dlFolder = DLFolderLocalServiceUtil.getFolder(folderId);

					if (!_hasPermission(
							permissionChecker, dlFolder, ActionKeys.VIEW)) {

						return false;
					}

					folderId = dlFolder.getParentFolderId();
				}
			}
			catch (NoSuchFolderException nsfe) {
				if (!dlFolder.isInTrash()) {
					throw nsfe;
				}
			}

			if (actionId.equals(ActionKeys.VIEW)) {
				return true;
			}

			folderId = originalFolderId;
		}

		try {
			while (folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
				dlFolder = DLFolderLocalServiceUtil.getFolder(folderId);

				if (_hasPermission(permissionChecker, dlFolder, actionId)) {
					return true;
				}

After Change


			return hasPermission.booleanValue();
		}

		if (actionId.equals(ActionKeys.VIEW) &&
			PropsValues.PERMISSIONS_VIEW_DYNAMIC_INHERITANCE) {

			try {
				long dlFolderId = dlFolder.getFolderId();

				while (dlFolderId !=
							DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

					dlFolder = DLFolderLocalServiceUtil.getFolder(dlFolderId);

					if (!_hasPermission(
							permissionChecker, dlFolder, actionId)) {

						return false;
					}

					dlFolderId = dlFolder.getParentFolderId();
				}
			}
			catch (NoSuchFolderException nsfe) {
				if (!dlFolder.isInTrash()) {
					throw nsfe;
				}
			}

			return true;
		}

		return _hasPermission(permissionChecker, dlFolder, actionId);
	}

	public static boolean contains(